package com.example.bledemo.utils;

/**
 * 作者 : Leo
 * 邮箱 : wang100328@petalmail.com
 * 时间 : 2022/8/31
 * 描述 : 数据转换工具类
 */
public class DataFormatUtil {

    /**
     * 字节数组转16进制字符串
     *
     * @param arr 字节数组
     * @return 16进制字符串
     */
    public static String arrayToHex(byte[] arr) {
        if (arr != null) {
            StringBuilder sb = new StringBuilder();
            for (byte b : arr)
                sb.append(String.format("%02x ", b));
            return sb.toString().trim();
        }
        return null;
    }

    /**
     * 字符串转字节数组
     *
     * @param str 字符串
     * @return 字节数组
     */
    public static byte[] stringToBytes(String str) {
        if (str == null || str.trim().equals("")) {
            return new byte[0];
        }
        byte[] bytes = new byte[str.length() / 2];
        for (int i = 0; i < str.length() / 2; i++) {
            String subStr = str.substring(i * 2, i * 2 + 2);
            bytes[i] = (byte) Integer.parseInt(subStr, 16);
        }
        return bytes;
    }
}
